unit da_point;

{$mode Delphi}

interface

uses
    Classes, SysUtils, Math;

type

	TRPoint = record
		X: Real;
		Y: Real;
	end;

	TDAPoint = class
	private
		rcoord: TRPoint;
		dcoord: TPoint;
		decsys: Real;
	public
		Constructor new(coord_x, coord_y: Real);
		function get_rcoord() :TRPoint;
		function get_dcoord() :TPoint;
	end;

implementation

Constructor TDAPoint.new(coord_x, coord_y: Real);
const
	PREC_V = -4;
begin
	rcoord.X := RoundTo(coord_x, PREC_V);
	rcoord.Y := RoundTo(coord_y, PREC_V);
	dcoord.X := Round(coord_x);
	dcoord.Y := Round(coord_y);
end;

// Получение вещественных координат точки
function TDAPoint.get_rcoord() :TRPoint;
begin
	get_rcoord := rcoord;
end;

// Получение целых координат точки
function TDAPoint.get_dcoord() :TPoint;
begin
	get_dcoord := dcoord;
end;

end.

